<?php

class Ciclos_Model extends CI_Model {

    function grabarCiclo($parameters) {
        $insert = array(
            "ide_pen" => $parameters['ide_pen'],
            "codigo_cic" => $parameters['codigo_cic'],
            "nombre_cic" => $parameters['nombre_cic'],
            "eliminado_cic" => 0);
        $this->db->insert("ciclos", $insert);
    }

    function actualizarCiclo($parameters, $ide) {
        $update = array(
            "ide_pen" => $parameters['ide_pen'],
            "codigo_cic" => $parameters['codigo_cic'],
            "nombre_cic" => $parameters['nombre_cic'],
            "eliminado_cic" => 0);
        $this->db->where("ide_cic", $ide);
        $this->db->update("ciclos", $update);
    }

    function getDatosCiclo($ide) {
        $this->db->where('ide_cic', $ide);
        $this->db->where('eliminado_cic', 0);
        $query = $this->db->get('ciclos');
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }

    function getListado($ide_pen) {

        $this->db->select('carrera.ide_car,carrera.nombre_car,pensum.descripcion_pen,
            pensum.estado_pen,ciclos.ide_cic,ciclos.nombre_cic');
        $this->db->from('carrera');
        $this->db->join('pensum', 'carrera.ide_car = pensum.ide_car', 'inner');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen', 'inner');
        if ($ide_pen>0){
            $this->db->where('pensum.ide_pen', $ide_pen);
        }
        $this->db->where('carrera.eliminado_car', 0);
        $this->db->where('pensum.eliminado_pen', 0);
        $this->db->where('ciclos.eliminado_cic', 0);
        //$this->db->order_by("carrera.nombre_car");
        $this->db->order_by("ciclos.codigo_cic");

        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $query->free_result();
            return $data;
        } else {
            return null;
        }
    }

    function eliminarCiclo($ide) {
        $update = array("eliminado_cic" => 1);
        $this->db->where("ide_cic", $ide);
        $this->db->update("ciclos", $update);
    }

    function getBusquedaCiclo($valor) {
        $criterio = "ciclos.nombre_cic LIKE '%$valor%'";
        $this->db->select('carrera.ide_car,carrera.nombre_car,pensum.descripcion_pen,
            pensum.estado_pen,ciclos.ide_cic,ciclos.nombre_cic');
        $this->db->from('carrera');
        $this->db->join('pensum', 'carrera.ide_car = pensum.ide_car', 'inner');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen', 'inner');
        $this->db->where($criterio);
        $this->db->where('carrera.eliminado_car', 0);
        $this->db->where('pensum.eliminado_pen', 0);
        $this->db->where('ciclos.eliminado_cic', 0);
        $this->db->order_by("carrera.nombre_car");
        $this->db->order_by("ciclos.nombre_cic");
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $query->free_result();
            return $data;
        } else {
            return null;
        }
    }

    function getCiclosPensum($ide_pen) {

        $this->db->select('ciclos.ide_cic,codigo_cic,ciclos.nombre_cic');
        $this->db->from('pensum');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen');
        $this->db->where('pensum.ide_pen', $ide_pen);
        //$this->db->where('ciclos.codigo_cic', 1);
        //$this->db->where($criterio);
        $this->db->where('ciclos.eliminado_cic', 0);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }

    
    function getCicloPensum($ide_pen) { //obtener para primer ciclo

        $this->db->select('ciclos.ide_cic,codigo_cic,ciclos.nombre_cic');
        $this->db->from('pensum');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen');
        $this->db->where('pensum.ide_pen', $ide_pen);
        //$this->db->where('ciclos.codigo_cic', 1);
        $this->db->where('ciclos.eliminado_cic', 0);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }
    //modificado patricio 13 mayo 
        function getCicloPensumUltimo($ide_pen) { //obtener para ultimo ciclo

        $this->db->select('ciclos.ide_cic,codigo_cic,ciclos.nombre_cic');
        $this->db->from('pensum');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen');
        $this->db->where('pensum.ide_pen', $ide_pen);
        $this->db->where('ciclos.codigo_cic', 6);
        $this->db->where('ciclos.eliminado_cic', 0);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }
        function getCicloPensumPrimero($ide_pen) { //obtener para primer ciclo

        $this->db->select('ciclos.ide_cic,codigo_cic,ciclos.nombre_cic');
        $this->db->from('pensum');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen');
        $this->db->where('pensum.ide_pen', $ide_pen);
        $this->db->where('ciclos.codigo_cic', 1);
        $this->db->where('ciclos.eliminado_cic', 0);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }

function getCicloSuperiorPensum($ide_pen) {  

        $this->db->select('ciclos.ide_cic,codigo_cic,ciclos.nombre_cic');
        $this->db->from('pensum');
        $this->db->join('ciclos', 'pensum.ide_pen = ciclos.ide_pen');
        $this->db->where('pensum.ide_pen', $ide_pen);
        $this->db->where('ciclos.codigo_cic > 0');
        //$this->db->where($criterio);
        $this->db->where('ciclos.eliminado_cic', 0);
        $query = $this->db->get();
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
        }
        $query->free_result();
        return $data;
    }
        function getCodigo_cic($ide) {
        $this->db->select('codigo_cic');
        $this->db->where('ide_cic', $ide);
        $this->db->where('eliminado_cic', 0);
        $query = $this->db->get('ciclos');
        $codigo_cic="";
        if ($query->num_rows() > 0) {
            foreach ($query->result_array() as $row) {
                $data[] = $row; //$row;
            }
            $codigo_cic = $data[0]['codigo_cic'];
        }
        $query->free_result();
        return $codigo_cic;
    }
        /* de jose**/
    public function listarCiclosCarreraPeriodo($id_periodo, $id_carrera){
        $query="select ciclos.ide_cic, ciclos.nombre_cic from ciclos 
            inner join cursa on cursa.ide_cic = ciclos.ide_cic 
            where cursa.periodos_lectivos_ide_lec = ".$id_periodo." 
            and cursa.ide_car = ".$id_carrera." group by ciclos.ide_cic";
        $Q=$this->db->query($query);
            return $Q->result_array();   
    }
    public function listarSeccionCicloCarreraPeriodo($id_periodo, $id_carrera, $id_ciclo){
        $query="select cursa.seccion from cursa 
            where cursa.periodos_lectivos_ide_lec = ".$id_periodo." 
            and cursa.ide_car = ".$id_carrera." 
            and cursa.ide_cic=".$id_ciclo." 
            group by cursa.seccion";
            $Q=$this->db->query($query);
            return $Q->result_array();   
        //select cursa.seccion from cursa where cursa.periodos_lectivos_ide_lec = 8 and cursa.ide_car = 1 and cursa.ide_cic=9 group by cursa.seccion
    }
    public function listarParaleloSeccionCicloCarreraPeriodo($id_periodo, $id_carrera, $id_ciclo, $seccion){
        $query="select cursa.paralelo 
            from cursa 
            where cursa.periodos_lectivos_ide_lec = ".$id_periodo." 
            and cursa.ide_car = ".$id_carrera." 
            and cursa.ide_cic=".$id_ciclo." 
            and cursa.seccion='".$seccion."'  
            group by cursa.paralelo";
        $Q=$this->db->query($query);
            return $Q->result_array();   
    }
    public function listarMateriaParaleloSeccionCicloCarreraPeriodo($id_periodo, $id_carrera, $id_ciclo, $seccion,$paralelo){
        $query="select materia.ide_mat ,materia.nombre_mat,cursa.docente_ide_doc,persona.apellido_pers,persona.nombre_pers 
            from materia 
            inner join cursa on cursa.materia_ide_mat = materia.ide_mat 
            inner join docente on docente.ide_doc=cursa.docente_ide_doc 
            inner join persona on persona.ide_pers=docente.persona_ide_pers 
            where periodos_lectivos_ide_lec=".$id_periodo." 
            and cursa.ide_car=".$id_carrera." 
            and cursa.ide_cic=".$id_ciclo." 
            and cursa.seccion=".$seccion." 
            and paralelo='".$paralelo."' 
            group by materia.nombre_mat";
        $Q=$this->db->query($query);
            return $Q->result_array();   
    }
 
}